项目从mysql迁移到oracle报错
mysqloracle迁移
本来没有一点错误,迁移之后出现了很多,不知道哪位大神见过下面的问题:
17:23:54,967 ERROR BasicPropertyAccessor:118 - IllegalArgumentException in class: com.ebupt.dataWarehouse.entity.dataQualityMonitoring.MonTaskConEntity, setter method of property: TemporaryIId
17:23:54,995 ERROR BasicPropertyAccessor:122 - expected type: int, actual value: java.math.BigDecimal
17:23:55,000 DEBUG ConnectionManager:325 - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
17:23:55,006 ERROR MonTaskConDao:101 - org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.ebupt.dataWarehouse.entity.dataQualityMonitoring.MonTaskConEntity.TemporaryIId
17:23:55,009 DEBUG ConnectionManager:464 - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
17:23:55,024 DEBUG ConnectionManager:325 - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
17:23:55,071 ERROR DataQualityMonitoringImpl:65 - org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.ebupt.dataWarehouse.entity.dataQualityMonitoring.MonTaskConEntity.TemporaryIId
17:23:55,073 ERROR MonitoringTaskConfigurationAction:54 - org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of com.ebupt.dataWarehouse.entity.dataQualityMonitoring.MonTaskConEntity.TemporaryIId
DAO层的相关函数是这样写的:
public List getMonTaskConList() throws Exception {
Session session = sessionFactory.openSession();
String sql = "SELECT d1.domain_id TemporaryIId, "
+ "d1.job_id TemporaryId, "
+ "d1.job_name job_name, "
+ "d1.is_effective is_effective, "
+ "d1.object_type object_type, "
+ "d1.object_name object_name, "
+ "d1.object_ename object_ename, "
+"d1.object_location object_location ,"
+"d1.time_field time_field, "
+ "COUNT(d2.rule_id) columnNum "
+ "from dq_conf_jobs d1, dq_conf_rule d2 "
//+ "where (d1.job_id = d2.job_id OR d1.job_id not in (SELECT job_id from dq_conf_rule)) AND d2.is_effective = '1'"
//+ "where ((d1.job_id = d2.job_id AND d1.domain_id = d2.domain_id) OR d1.job_id not in (SELECT job_id from dq_conf_rule)) AND d2.is_effective = '1'"
+ "where d1.job_id = d2.job_id OR d1.job_id not in (SELECT job_id from dq_conf_rule)"
//-- + "GROUP BY d1.job_id";
//非聚合函数字段都要在group by里面好像
+ "GROUP BY d1.job_id,d1.domain_id,d1.job_name,d1.is_effective,d1.object_type,d1.object_name,d1.object_ename,d1.object_location,d1.time_field";
//String sql = "";
try {
Query query = session.createSQLQuery(sql)
.addScalar("TemporaryIId")
.addScalar("TemporaryId")
.addScalar("job_name")
.addScalar("object_type")
.addScalar("object_name")
.addScalar("is_effective")
.addScalar("object_ename")
.addScalar("object_location")
.addScalar("time_field")
.addScalar("columnNum", Hibernate.INTEGER)
.setResultTransformer(Transformers.aliasToBean(MonTaskConEntity.class));
List resultList = query.list();
//查询rule总数,进行过滤
String countSql = "SELECT COUNT(*) FROM dq_conf_rule";
Query countQuery = session.createSQLQuery(countSql);
int count = ((Number) countQuery.uniqueResult()).intValue();
//数据整理,id.job_id的赋值,如果rule行数为总行数,则表明该job并没有rule
if (resultList != null && resultList.size() > 0) {
for (MonTaskConEntity entity : resultList) {
if (entity.getColumnNum() == count) {
entity.setColumnNum(0);
}
MonTaskConEntityId idEntity = new MonTaskConEntityId();
idEntity.setJob_id(entity.getTemporaryId());
idEntity.setDomain_id(entity.getTemporaryIId());
entity.setId(idEntity);
}
}
return resultList;
} catch (Exception e) {
log.error(e);
throw e;
} finally {
session.close();
}
}
目的是把表格的数据获取显现出来
谢谢大家

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Artikel membincangkan mendapatkan MySQL terhadap suntikan SQL dan serangan kekerasan menggunakan pernyataan yang disediakan, pengesahan input, dan dasar kata laluan yang kuat. (159 aksara)
