Привет всем, у меня проблемы, когда я хочу выбрать
private void getExecutionReport(quickfix.Message message, String tipeMessage) {
// TODO Auto-generated method stub
try {
String timestampasstring = message.getString(TransactTime.FIELD);
System.out.println(timestampasstring);
String[] timestampasstrings = timestampasstring.split("\\.");
String timestamptostring = timestampasstrings[0];
System.out.println(timestamptostring);
LocalDateTime ldt = LocalDateTime.parse(timestamptostring, DateTimeFormatter.ofPattern("yyyyMMdd-HH:mm:ss"));
System.out.print(ldt);
String IDTransaksi = message.getString(ClOrdID.FIELD);
String[] IDTransaksis = IDTransaksi.split("-");
String ID = IDTransaksis[1];
Integer Id = Integer.parseInt(ID);
System.out.println(Id);
tradingHistory tradingHistorys = RepositoryFactory.gettradingHistoryRepo().findByID(Id);
String type = tradingHistorys.getPrice_type();
System.out.println(type);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
мой стек кода в
tradingHistory tradingHistorys = RepositoryFactory
.gettradingHistoryRepo().findByID(Id);
String type = tradingHistorys.getPrice_type();
System.out.println(type);
здесь мой журнал и стек ошибки
FromApp 8=FIX.4.29=26435=834=421943=Y49=Fastmatch152=20200421-08:00:15.96056=TRValueTrade2UAT1122=20200421-07:54:53.2946=011=FM-11427814=015=AUD17=1861228320=032=037=122768079738=177777.7739=040=P44=0.6274954=155=AUD/USD60=20200421-07:54:53.294150=0151=177777.7710=232
FromApp 8
20200421-07:54:53.294
2020-04-21T07:54:53
114278
Я попытался использовать whereclause в моем коде здесь. но когда я пытаюсь это сделать, я получаю сообщение об ошибке моего стека кода в select, используя выражение where
public tradingHistory findByID(final Integer Id) throws SQLException {
WhereClause<tradingHistory> conditions = new WhereClause<tradingHistory>() {
public void defineWhere(CriteriaBuilder criteriaBuilder,
CriteriaQuery<tradingHistory> criteriaQuery,
Root<tradingHistory> root) {
// TODO Auto-generated method stub
criteriaQuery.select(root).where(criteriaBuilder.equal(root.get("id"), Id));
}
};
OrderClause<tradingHistory> orders = new OrderClause<tradingHistory>() {
public void defineOrder(CriteriaBuilder criteriaBuilder, CriteriaQuery<tradingHistory> criteriaQuery,
Root<tradingHistory> root) {
// TODO Auto-generated method stub
criteriaBuilder.asc(root.get(Id+"id"));
}
};
return singleResult(conditions,orders,0,1,0);
}
и здесь мой объект для столбца с идентификатором
@Entity
@Table(name="trade_history", schema="trading_dashboard")
public class TradingHistory implements Serializable {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer Id;
}
, так как решить мою проблему здесь?