2013-02-12 187 views
3

我打算使用jOOQ,我可能需要混淆。混淆和jOOQ

我不知道jOOQ如何在引擎盖下工作。 混淆过程是否会向应用程序提供问题?

+0

您打算混淆什么?你的数据库模式和生成的SQL? jOOQ?或者你自己的代码?或者它们的组合? – 2013-02-13 09:03:21

+0

@Lukas我要混淆应用程序;我不会混淆数据库和模式本身(我是否正确理解你的问题?)我不会混淆库(jOOQ)。 – Jako 2013-02-13 11:57:53

回答

2

jOOQ使用反射,内部:

  1. 构建custom POJO objects
  2. Records to POJO objectsvice-versa
  3. 将值分配给调用Oracle ojdbc特异性方法而不产生上ojdbc
  4. 依赖性调用PGobject类型的Postgres JDBC特定方法

在这些区域中,如果更改方法名称,混淆可能会导致问题

+0

谢谢你的回答!非常感谢。所以我需要从混淆过程中排除jOOQ生成的代码(我打算使用jOOQ代码生成功能)。这是对的吗?我希望(只是一点),jOOQ生成的代码使用字符串常量,所以混淆将是可能的 – Jako 2013-02-13 12:00:24

+0

我知道这将是你第一个回答我的问题:)我已经试过jOOQ真快,一切工作像一个魅力。我已经喜欢它:) – Jako 2013-02-13 12:02:10

+1

@Jako:感谢您的反馈。我在jOOQ标签上设置了通知服务... :-)您还可以混淆jOOQ生成的代码。只要注意jOOQ可能不再能够将生成的字符串常量(对应的数据库列名称)映射到POJO获取器和设置器。避免这种情况的一种方法是使用JPA批注生成POJO ...然后,方法名称不再重要 – 2013-02-13 13:02:03