I’m using Jooq as the SQL layer in my application. It generates the code/pojos/records/routines fine but Routines.java, where MySQL procedures reside, doesn’t compile because it generated a duplicated method:
Routines.java line 989:
/**
* Call mmw.logMsg
*
* @param __Message
* @param __Code
* @param __Ean
* @param __Erpnumber
* @param __Proc
* @throws org.jooq.exception.DataAccessException if something went wrong executing the query
*/
public static java.lang.Byte logmsg(org.jooq.Configuration configuration, java.lang.String __Message, java.lang.String __Code, java.lang.String __Ean, java.lang.String __Erpnumber, java.lang.String __Proc) {
com.mycompany.data.routines.Logmsg f = new com.mycompany.data.routines.Logmsg();
f.set__Message(__Message);
f.set__Code(__Code);
f.set__Ean(__Ean);
f.set__Erpnumber(__Erpnumber);
f.set__Proc(__Proc);
f.execute(configuration);
return f.getReturnValue();
}
Routines.java line 1061:
/**
* Call mmw.logMsg
*
* @param __Message IN parameter
* @param __Code IN parameter
* @param __Ean IN parameter
* @param __Erpnumber IN parameter
* @param __Proc IN parameter
* @throws org.jooq.exception.DataAccessException if something went wrong executing the query
*/
public static void logmsg(org.jooq.Configuration configuration, java.lang.String __Message, java.lang.String __Code, java.lang.String __Ean, java.lang.String __Erpnumber, java.lang.String __Proc) {
com.mycompany.data.routines.Logmsg p = new com.mycompany.data.routines.Logmsg();
p.set__Message(__Message);
p.set__Code(__Code);
p.set__Ean(__Ean);
p.set__Erpnumber(__Erpnumber);
p.set__Proc(__Proc);
p.execute(configuration);
}
The error: Routines.java:[1061,20] error: method logmsg(Configuration,String,String,String,String,String) is already defined in class Routines
It appears that you have a procedure and a function with the exact same name and the exact same signature in your database… This isn’t supported by jOOQ.
I have created a bug for this:
https://github.com/jOOQ/jOOQ/issues/1908
As a workaround, if you can:
Update: This issue is fixed in jOOQ 3.2