我具有以下hibernate-cfg.xml用户名和密码,并且URL仍然正确,但我仍收到以下问题
org.hibernate.exception.GenericJDBCException:无法打开连接
有人可以帮我吗?
我已经更改了本地主机中提到的IP地址,只是为了检查输入的IP是否错误还是仍然存在问题
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!-- <property name="connection.url">jdbc:oracle:thin:@localhost:1596:OICICM_ERP_CONNECTION</property> -->
<property name="connection.url">jdbc:oracle:thin:@192.168.5.152:1596:1596:XE</property>
<property name="connection.username">XXOIC_ICM</property>
<property name="connection.password">OICicm123</property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="show_sql">true</property>
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>
代码:
@RequestMapping(value="/getPOdata",produces="application/json")
public JSONArray getPOData(String ORDER_NUMBER,String ORG_ID,String REQUESTED_PART_NO) throws JSONException
{
@SuppressWarnings("deprecation")
SessionFactory factory = new Configuration()
.configure("/hibernate.cfg.xml")
.addAnnotatedClass(LaurenSoapModel.class)
.buildSessionFactory();
System.out.println("calling getinfo");
//List <Object[]> userIdLst =null;
String queryTxt = null;
String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
JSONArray jarry = new JSONArray();
/*
String queryTxt = null;
queryTxt = "select * from WFCONFIG.WIDGET_TEST";
Query qry = entityManager.createNativeQuery(queryTxt);*/
Session session = factory.getCurrentSession();
session.beginTransaction();
Query query = null;
//queryTxt = "Select productBase.name,productBase.referenceNo from DUMMY.dbo.LaurenCaseData productBase where productBase.status=:productName";;
//queryTxt = "select * from WFCONFIG.WIDGET_TEST";
query = "SELECT * FROM XXOIC_ICM_POMASTER_V WHERE ORDER_NUMBER="+ORDER_NUMBER+" AND ORG_ID="+ORG_ID+" AND REQUESTED_PART_NO="+REQUESTED_PART_NO+"";
query = (Query)session.createSQLQuery(queryTxt);
List <Object[]> userIdLst = query.list();
if (null != userIdLst) {
for (Object object[] : userIdLst) {
JSONObject jobj = new JSONObject();
jobj.put("ORG_ID",object[0]);
jobj.put("ORDER_DATE",simpleDateFormat.format(object[1]));
jobj.put("SUPPLIER_NAME",object[2]);
jobj.put("SUPPLIER_SITE_CODE",object[3]);
jobj.put("VENDOR_ID",object[4]);
jobj.put("ORDER_TYPE",object[5]);
jobj.put("TRANSPORT_MODEE",object[6]);
jobj.put("ORDER_NUMBER",object[7]);
jobj.put("REQUESTED_PART_NO",object[8]);
jobj.put("PART_DESCRIPTION",object[9]);
jobj.put("LOCATOR",object[10]);
jobj.put("ORDER_QTY",object[11]);
jobj.put("ORDERED_BY",object[12]);
jobj.put("ORDERED_BY_ID",object[13]);
jobj.put("ORDER_REFERENCE",object[14]);
jobj.put("SUPPLIER_PO_REFERENCE",object[15]);
jobj.put("ASE_ORDER_REFERENCE",object[16]);
jobj.put("DIP_BIR_NO",object[17]);
jarry.put(jobj);
}
System.out.println(jarry);
}
return jarry;
}
答案 0 :(得分:0)
首先将 <style name="AppTheme.ShowActivity" >
<item name="android:windowSharedElementsUseOverlay">false</item>
<item name="android:windowContentTransitions">true</item>
<item name="android:windowActivityTransitions">true</item>
<!-- optional
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>-->
<item name="android:windowSharedElementEnterTransition">@transition/activityshow_se_enter_transition</item>
<item name="android:windowSharedElementReturnTransition">@transition/activityshow_se_return_transition</item>
<item name="android:windowEnterTransition">@transition/activityshow_enter_transition</item>
<item name="android:windowReturnTransition">@transition/activityshow_return_transition</item>
</style>
final Pair[] pair = new Pair[4];
pair[0] = new Pair(((rvViewHolder)viewHolder).cvHolder,"cardview transition");
pair[1] = new Pair(((rvViewHolder)viewHolder).ivImage, "image transition");
pair[2] = new Pair(((rvViewHolder)viewHolder).bottomAppBar, "bar transition");
pair[3] = new Pair(((rvViewHolder)viewHolder).fab, "fab transition");
final CardView holderBg = (((rvViewHolder)viewHolder).cvHolder);
((rvViewHolder)viewHolder).setHolderClickListener(new HolderClickListener() {
@Override
public void holderClicked(View v, int position)
{
Intent i = new Intent(context, ShowActivity.class);
i.putExtra("ObjectPosition", position);
i.putExtra("clickedObj", (Serializable) dataList.get(position));
ActivityOptionsCompat options;
options = ActivityOptionsCompat.makeSceneTransitionAnimation(
(Activity) context, pair);
context.startActivity(i, options.toBundle());
}
}
});
更改为getCurrentSession()
。
之后,您可以正确编写查询。代替查询,使用
openSession()