java - 使用 Hibernate 查找给定 Java 类型的特定数据库类型

标签 java database hibernate

是否有我可以在 Hibernate 中使用的类,以便我可以传入一个类并返回适当的数据库类型名称?

例如,

String type = HibernateTypeGod.getTypeName(String.class);

Hibernate 将确定我指定的方言并在 Oracle 的情况下返回 VARCHAR2。

最佳答案

没那么简单。所有映射的东西都在类 Configuration、Table、Column 和 Dialect 中,因此您需要某种有效的配置才能从 Hibernate 中查询它。但是您可以使用:

String s = myDialect.getTypeName(sqlType,length,precision,scale);

当然,您需要找到方言​​和 sqlType,但这在 Hibernate 中并没有固定在类的基础上,但是无论如何都可以按列配置,所以按类而不是按列名询问的原因是什么?

关于java - 使用 Hibernate 查找给定 Java 类型的特定数据库类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4644125/

相关文章:

java - JMS CachingConnectionFactory onException 方法永远不会在 JMSException 上调用

mysql - 独特的用户识别约束

java - Spring/Hibernate/TestNG - 手动 session 和事务设置

spring - spring 中 jpa 实体的自动扫描包

java - 当我从 "default package"重命名包时,出现类未找到异常

java - 如何使用 ArrayList.get()?

java - Spring Boot 基于角色的安全 JWT

mysql - 更改MySQL表存储引擎查询超时

sql - 外键和引用键有什么区别?

java - 从hibernate中的sessionfactory实体类中检索主键