我有一些持久性的JPA课程
@Entity
@Table(name = "TABLE_NAME")
public MyJPA
{
@EmbeddedId
private MyJpaPrimaryKey key;
@Column(name = "DATABASE_COLUMN")
private SomeType someData;
...
}
主键的类
@Embeddable
public class MyJpaPrimaryKey
{
...
}
两者都有包含所有必填字段和/或任何方便的构造函数。
现在,JPA强制使用一些零参数构造函数
MyJpaPrimaryKey
)应包含零参数构造函数这些零参数构造函数都不是为了明确使用。我知道我可以让MyJpa() { }
包私有,所以JPA很高兴,没有人会无意中使用它。但MyJpaPrimaryKey() { }
必须为public
。
如何阻止某人使用零参数构造函数MyJpaPrimaryKey()
?如果这不可能,如果有人使用它,如何获得警告(或更好的错误)?我可以想到@Deprecated
注释,但这感觉就像误用了这个注释。