Я использую пружинную гибернацию и класс поддержки HibernateDAOSsupport. У меня есть две таблицы, сопоставленные друг другу по принципу «один ко многим». Я реализую следующие критерии
DetachedCriteria criteria = getCriteria( "a" )
.setProjection( Projections.projectionList()
.add( Projections.groupProperty("a.id" ) )
.add( Projections.count( "a.id" ), "count" )
)
.createCriteria( "huApps", "hu")
.addOrder( Order.desc( "count" ) )
;
это работает хорошо и создать следующий запрос
select
this_.id as y0_,
count(this_.id) as y1_
from
apps this_
inner join
huapps huapp1_
on this_.id=huapp1_.appid
group by
this_.id
order by
y1_ desc
В результате он возвращает список объекта []
. Но я хочу, чтобы он вернул Список < Приложение >
(Приложение - это класс, на котором я реализовал/создал критерии).
Я хочу, чтобы он создал запрос
select
this_
from
apps this_
inner join
huapps huapp1_
on this_.id=huapp1_.appid
group by
this_.id
order by
y1_ desc
Пожалуйста, помогите мне в написании правильных критериев.
Я также пытался с sqlProjection ()
, но даже это не сработало.
Есть ли способ, которым я могу достичь этого?
Я хотел вызвать метод C++ из Java. Я читал о JNI, но я не получаю, как получить все файлы библиотеки и где я должен сохранить его, чтобы запустить программу из командной строки.
Есть ли способ вызвать метод C++ из самого Eclipse, потому что я использую его для запуска классов Java.
Назовите код C++ из программы Java.
Следуют ниже Шага
- , пишут код Java
- , что contian объявление собственных методов
- совместно использованная библиотека загрузки содержит собственный метод вызова собственного кода
public class Sample1
{
public native int intMethod(int n);
public static void main(String[] args)
{
System.loadLibrary("Sample1");
Sample1 sample = new Sample1();
int square = sample.intMethod(5);
System.out.println("intMethod: " + square);
}
}
- Компиляция, код Java
javac Sample2.java
- создает заголовочный файл C++
javac Sample2.java
- , Пишут код C++
#include "Sample1.h"
#include <string.h>
JNIEXPORT jint JNICALL Java_Sample1_intMethod
(JNIEnv *env, jobject obj, jint num) {
return num * num;
}
void main(){}
- код C++ компиляции
cc -G Sample1.c -o Sample1.so
- Выполнение программа
java Sample1