从实体获取或创建插入语句

3

是否有可能为已存在的实体类生成带有值的插入语句?

编辑: 我指的是为实体类的一个实例生成插入语句,以便单独执行该语句。

提前致谢。


你的问题对我来说毫无意义。 - Suresh Atta
请更准确地提出问题。 - Raj
快来看看JPA/Hibernate.. - kevcodez
你是指为一个实体类的实例生成一个插入语句,然后单独执行该语句吗? - Tobias Liefke
是的,确切地说,那就是我想表达的意思 :) - user1167253
请看一下这个问题:https://dev59.com/fn_aa4cB1Zd3GeqP6a0l - mabi
1个回答

8

使用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 Nwanyanwu
@Uchenna,你能为这个问题创建一个单独的提问吗(并在这里只添加一个参考)? - Tobias Liefke
Fastnate看起来很有前途,但似乎还不能处理EmbeddedIds。在Github项目中有一个跟踪该问题的issue,但它似乎一直被推迟到下一个版本发布。对于EmbeddedId字段的支持是否即将到来,或者我们应该考虑其他解决方案? - Kevin Swan
1
我认为你应该在问题页面上提出这个问题。如果没有人提问,我们怎么知道是否有需求呢? - Tobias Liefke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接