我正在使用SpringDataJpa。假设我有一个名为USER的实体(具有属性第一、最后和级别)。我应该在level属性上使用哪个注释,所以它只在查询时填充,而在将对象保存到数据库时不被忽略?我尝试过@Transient,但是当查询时,这个字段被忽略了。
发布于 2015-11-11 20:54:57
我会尝试以下几种方法。
First确保您的使用JPA访问,因此您的JPA提供程序不依赖于getter和setter。如果您的@Id注释是在字段上设置的,而不是在getter上,那么您应该没事。有关JPA访问类型的更多详细信息,请参阅该问题的公认答案:
What is the purpose of AccessType.FIELD, AccessType.PROPERTY and @Access
另外,您也没有为您的level 属性提供设置器。所以这个字段可以被调用者读取。
此外,您可以使用属性上的注释来表示字段不能写入@Column。
@Column(name = "LEVEL", updatable = false, insertable = false)https://stackoverflow.com/questions/33656977
复制相似问题