java - Spring jpa中如何指定主键可以为空

标签 java spring jpa

我有多个 PK:我的表的主键是 (idQuestion, id_parent)。

在 QuestionsId 类中,我已经:

@Embeddable
public class QuestionsId implements Serializable
{
    @Column(name = "id_parent", nullable = true)
    private Integer id_parent;
    @Column(name = "idQuestion", nullable = false)
    private Integer idQuestion; 

     //Setters, Getters, etc
     }

在问题类中:

 @EmbeddedId
    @Column(nullable = true, unique = true)
    private QuestionsId idQuestion;

      //Setters, Getters, etc

id_parent 应该包含 null 值 我尝试输入 nullable=true 但它不起作用!我怎样才能指定这个PK可以有一个空值!?

最佳答案

如果它可以为空,那么它不应该是主键。主键是唯一标识符,如果其复合属性之一可能为空,则有可能违反唯一性。

关于java - Spring jpa中如何指定主键可以为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45411841/

相关文章:

java - Spring Boot Soap Web 服务(Java)-代码优先?

java - 后台线程抛出 HibernateException - "No Hibernate Session bound to thread..."

Spring Boot应用程序启动后立即关闭

java - 如何在 Spring Boot JPA 中连接到多个数据库?

java - @ManyToOne 属性上不允许使用 @Column(s)

java - android-Java- 将 WeakReference<Bitmap> 转换为普通位图

java - 如何加载外部 "war"文件到spring boot的嵌入式tomcat服务器

java - 如何使用 SqlResultSetMapping 将 JPA NativeQuery 的结果集映射到 POJO

java - 选择非空属性

Java 导出后无法运行我的 eclipse 程序