【问题标题】:Get or create insert statment from entity从实体获取或创建插入语句
【发布时间】:2015-07-28 07:30:45
【问题描述】:

有没有可能现有的实体类带值生成插入语句?

编辑: 我的意思是为实体类的实例生成一个插入语句,分别执行该语句。

提前致谢

【问题讨论】:

  • 你的问题对我来说毫无意义。
  • 请更贴切地问这个问题......
  • 查看 JPA/Hibernate..
  • 你的意思是为一个实体类的instance生成一个插入语句,单独执行那个语句?
  • 是的,没错,这就是我的意思:)

标签: java sql hibernate jpa insert


【解决方案1】:

使用Fastnate,您可以在不连接数据库的情况下为实体创建 SQL 语句:

public String createSQL() {
    // Create your entity
    TestEntity entity = new TestEntity();
    entity.setSomeProperty("Example");
    ...

    // Write your entity as SQL
    StringWriter result = new StringWriter();
    EntitySqlGenerator sqlGenerator = new EntitySqlGenerator(result);
    sqlGenerator.write(entity);
    return result.toString();
}

【讨论】:

  • 请问如何排除生成器将主键列添加到生成的 SQL 字符串。这是因为我的表有一个带有自动生成列的 id。
  • @Uchenna,您能否为此创建一个单独的问题(并且仅在此处添加参考)?
  • Fastnate 看起来很有希望,但它似乎还不能处理 EmbeddedIds。在 Github 项目中跟踪它存在一个问题,但它似乎一直被推迟发布。是否即将支持 EmbeddedId 字段,还是我们应该考虑另一种解决方案?
  • 我认为您应该在问题页面上提出该问题。如果没有人要求,我们怎么知道有需求?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 2013-06-23
  • 2015-10-25
  • 2018-04-26
  • 2019-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多