我正在使用JPA,我需要将"tableName"变为变量.
在数据库中,我有很多表,我的代码需要访问我指定要读取的表.
@Entity
@Table(name = "tableName")
public class Database implements Serializable {...............}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我猜你可以做这样的事情.没试过,它只是一个疯狂的猜测.但这就是通常的做法 - 我遵循命名查询; 是的,这完全是另一回事.
@Entity
@Table(name = Database.tableName)
public class Database implements Serializable {
public static final String tableName = "TABLE_1";
...............
}
Run Code Online (Sandbox Code Playgroud)
但我不明白为什么有人会这样做.你能告诉我们你在忙什么吗?为什么你有几个表完全相同的定义?
将帖子
我试过你的解决方案.它没有用,它说:注释属性Table.name的值必须是一个常量表达式.
那么,还不够清楚吗?我的意思是你不能这样做.我相信它非常符合逻辑.如果您希望Hibernate生成您的架构,那么您可以在架构中以适当的关系定义所需的所有实体.