问题描述
我有一个问题,我还不够好,不知道哪个是最好的解决方案。我真的需要最佳实践来编写健壮的代码。
我有一个 gradle java8 项目。我的开发环境没有与集成环境相同的 DBMS,这很愚蠢,我知道,但我必须处理它。 问题是在集成环境中,我们有带有 RAW(8) 字段的 Oracle 表,而我的开发环境(derby)中没有这种数据类型。 另外,我使用 Hibernate 连接到我的数据库。我现在做了什么: 我定义了 2 个 bean,它们为这种表实现了 bean 接口,对于我的原始字段的 set 和 get 方法,我只是解析了 get 方法的输出和 set 方法的输入,以与有关字段匹配像这样的数据库:
//In src/main/java/myapp/beans
public interface MyBeanInterface {
public byte[] getMyRawField();
public void setMyRawField(byte[]);
}
//In src/main/java/myapp/beans
public class MyBeanBaseaimpl implements MyBeanInterface {
private byte[] myRawField;
public byte[] getMyRawField() {
return myRawField;
}
public void setMyRawField(byte[] myRawField) {
this.myRawField = myRawField;
}
}
//In src/test/java/myapp/beans
public class MybeanBaseBImpl implements MyBeanInterface {
private String myRawField;
public byte[] getMyRawField() {
//transcode from string to byte[]
return AParseFunction(myRawField);
}
public void setMyRawField(byte[] myRawField) {
//Transcode from byte[] to string
this.myRawField = AnotherParseMethod(myRawField);
}
}
现在我需要一个工厂来实现关于上下文的好类,我在这里,我不知道这样做的最佳方法是什么。我什至不知道我所做的是否是一个很好的介绍。
在我的反思中,我会在 src/main/resources 和 src/test/resources 中编写一个属性,其中包含用于上下文的类名,但我不知道我是否应该这样做,在哪里编写属性,如何读取它以及如何在我处于测试范围时强制使用 src/test/resources 而不是 src/main/resources,这样我就不必每次在集成环境中部署时更改配置。 (我对 gradle 也不够好,所以也许有一个很好的策略使用它)。
谢谢您的关心!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)