2017-02-01 30 views
-1

如果我有一个数据库与每吨表中的吨表和字段吨,但是我只需要使用少数的表,并与几个里面的领域。与有限的表/字段与实际表相比的Jpa

我可以做“刮”JPA实体,并仍然有休眠/ jpa工作吗?

FX:如果我有一个表这就是工作的有10个不同的领域,但我只需要做的字段2“获得”,也不会改变/更新任何东西 - 只读

  • 我可以做一个将工作的实体类只能容纳2个字段,还是我需要添加所有的字段才能工作?80%不会被使用/读取?

分贝:

表名=测试

+------+------+------+------+------+ 
|field1|field2|field3|field4|field5| 
+------+------+------+------+------+ 
|  |  |  |  |  | 
+------+------+------+------+------+ 

java的实体

@Entity 
public class test { 
    private String field1; 
    private String field2; 
} 

将这项工作?

回答

2

您不需要为每个表或每个列的字段创建实体,因此建议的解决方案应该可以工作。

但是,如果您知道如何使用JPA对其进行建模,则有些遗留表可能有点烦人,例如,如果您具有复合主键和外键,但几乎所有内容都可行。

+0

要添加到此答案,一定要将实体标记为'@ Immutable',因为这些被认为是只读的,以避免在无意的情况下更改数据的错误。 – Naros

+0

请注意,@ @ Immutable是Hibernate特有的,但是如果你需要纯粹的JPA,@Column(updatable = false,insertable = false,...)也应该这样做 – crizzis

相关问题