Yeah, I figured. No worries, just confirming that it was rolled back.
Plus for anyone who is reading this can easily see the feature was removed
without digging into the code.
On Tue, Aug 13, 2019 at 1:24 AM Lukas Eder wrote:
> Hi Samir,
>
> There are a lot of edge cases related to arrays,
I had something like this in mind for handling mapping from records to Pojos.
Having something like this or better out of box will be nice!
See https://github.com/PicnicSupermarket/jolo
--
You received this message because you are subscribed to the Google Groups "jOOQ
User Group" group.
To
Hi Samir,
There are a lot of edge cases related to arrays, user defined types, custom
data type bindings, etc. So indeed, the feature turned out to cause much
more trouble than it added value, at least from a maintenance perspective.
Thanks,
Lukas
On Wed, Jul 31, 2019 at 11:04 PM Samir Faci
I have methods that take a Record as an argument. This is because the
method can be entered from multiple other methods, each having their own
query. So in this case I don't always know if a certain field is present in
the Record. For this I created a helper method:
public static T
I'm super late to the party was going to see about using the feature but it
looks like this was more complicated than expected?
Mostly chiming in for anyone else reading this to see that the feature was
rolled back.
On Tue, Jun 18, 2019 at 8:07 AM Lukas Eder wrote:
> Hi Samir,
>
> This issue
Hi Samir,
This issue is now implemented in jOOQ 3.12:
https://github.com/jOOQ/jOOQ/issues/5412
Generated records will now contain mapper() and unmapper() methods that
produce non-reflective RecordMapper and RecordUnmapper instances in case
both records and pojos are being generated.
Thanks,
Hi Charlie,
Thank you very much for taking the time to write your suggestion. May I
counter-suggest we first get to the same level of understanding of the
problem that you've started to state in this other discussion:
https://groups.google.com/d/msg/jooq-user/7hfDlmEwfQI/_muUo0XhBwAJ
Only then,
Dear Lukas,
I think I would request a passthrough or passive mode, which could be
engaged in your org.jooq.conf.Settings class.
There are certain scenarios where we might want to disengage JOOQ. For
example, I have recently posted about JOOQ safely converting a Postgres
BigInt / INT8 NaN
Thanks a lot for your feedback. We could certainly add such a method, but
would you mind explaining your use-case first?
2017-10-19 0:45 GMT+02:00 :
> Super small request
>
> Can you please add *isFetched()* convenience method to a Record?
> Currently this field is private
Super small request
Can you please add *isFetched()* convenience method to a Record? Currently
this field is private and cannot be read
Thanks for the great work!
On Wednesday, July 6, 2016 at 5:16:44 AM UTC-7, Lukas Eder wrote:
>
> Dear group,
>
> Part of jOOQ's success is its incredible
Hi,
Sorry for the late reply, I find myself doing something like this
regularly:
DSL.using(config).transaction(t -> {
int inserted = DSL.using(t).insertInto(t).execute();
Preconditions.checkState(inserted == 1);
});
So I guess I could do with a insertSingle (insertChecked?); a
Thanksf or those pointers. I'll be happy to study the two libraries.
Do note that "lazy" fetching (including the N+1 risk) is already possible
through the UpdatableTable.fetchXXX() methods! But I'm not happy with those
yet. We can do better :)
Cheers,
Lukas
2017-03-23 4:59 GMT+01:00 Danilo
Lukas/Thomas,
Sometime ago I replied to this thread saying that it would be useful to be
able to fetch the entire graph of related tables starting from a Record
instance. I believe jOOQ is but a few steps away from some "ORMs" such as
Bookshelf.js and Objection.js with regard to their "Data
Thank you very much for your feedback, Steinar.
I've cross linked your detailed suggestions from issue #5896 for better
referencing.
Best Regards,
Lukas
2017-03-21 13:35 GMT+01:00 :
> Hi
>
> As mentioned earlier, I really like the flexibility that .Net MicroORMs
>
Hi Thomas,
2017-03-17 16:47 GMT+01:00 Thomas GILLET :
> Hello all,
>
> One thing I felt missing this week is an easy way to create a custom
> derived table.
> When writing a complex (sub-)query, I sometimes like to package it in its
> own class, together with its
Hi Thomas,
I'm sorry for the delay. This message slipped under my radar
2017-03-09 15:49 GMT+01:00 Thomas GILLET :
> My usual advice here is to do what also some of the JPA advocates advise
>> to do: Mix both worlds. Write the query with jOOQ, but execute and map it
>>
Hi Lukas,
Thank you very much for your detailed elaborations, greatly appreciated!
Well, when I finally find someone interested in what I have to say, I don’t
let him go that easily ;)
My usual advice here is to do what also some of the JPA advocates advise to
> do: Mix both worlds. Write
That sounds very interesting. Indeed, if you remove UD from CRUD, things do
get much simpler. Would be very curious to see that in action!
2017-03-02 13:31 GMT+01:00 :
> We've solved writing back entity graphs a bit differently. The application
> has a requirement for
We've solved writing back entity graphs a bit differently. The application
has a requirement for business process purposes as well as compliance
reasons to maintain a complete history of all changes. We've chosen to
support this using a bi-temporal data model. Almost every table in the
Btw: This was published just now:
https://arnaudroger.github.io/blog/2017/03/02/jooq-one-to-many-without-dto.html
Here's the author:
https://twitter.com/arnaudroger
2017-03-02 12:58 GMT+01:00 Lukas Eder :
> Hi Thomas,
>
> Thank you very much for your detailed elaborations,
Hi Thomas,
Thank you very much for your detailed elaborations, greatly appreciated!
2017-02-28 16:51 GMT+01:00 Thomas GILLET :
> Hi Lukas,
>
> Just to get the complete picture [...] What currently keeps you from using
>> JPA?
>
>
> A long time ago, I used to use JPA to
Hi Lukas,
Just to get the complete picture [...] What currently keeps you from using
> JPA?
A long time ago, I used to use JPA to do very basic CRUD stuffs, and it was
working fine.
But I began to issue less and less insert/updates, and more and more
complex selects, and to be very
Hi Thomas,
Thanks a lot for your comments. I'm very curious about some examples of
what you have done:
2017-02-27 13:17 GMT+01:00 Thomas GILLET :
> What I've done for now is:
> - extend the JavaGenerator to generate properties (i.e
> field/getter/setter) in generated
Hi Danilo,
I'm currently trying to do the same thing than you, that is, if I
understood it right, define a whole entity graph, and fetch it in one call
to make a JSON payload.
What I've done for now is:
- extend the JavaGenerator to generate properties (i.e field/getter/setter)
in generated
Hi Max,
Thank you very much for your suggestion. Note that the @Column annotation
jOOQ currently "supports" is JPA's standard annotation for interoperability
reasons, so jOOQ cannot change its behaviour.
Your idea sounds similar to Hibernate's @Formula. I was personally never
convinced that
Hi Lukas,
I've taken some time to think of a cool feature that would useful. It
would be really handy to if column annotation was extensible enough to take
valid select clause expression as input and make it available to a pojo
getter. Best illustrated by example:
@Column(expression =
You might try creating your own function.
public Field now() {
return DSL.function("now", DateTime.class);
}
-
Mike Foody
Providence HR
http://www.providencehr.com
(832) 714 1652
m...@providencehr.com
On Wed, Dec 7, 2016 at 7:53 PM, Samir Faci wrote:
> You could also use
You could also use
DSL.currentDate()
DSL.currentTime()
DSL.currentTimestamp();
Based on your code snippet I assume you probably want
DSL.currentTimestamp().
Probably a bit prettier then relying on field("...")
On Wed, Dec 7, 2016 at 2:35 PM, Anthony Calce
wrote:
I've found a solution, but it's not very pretty
Collection x = new ArrayList();
x.add(1);
x.add(DSL.field("NOW()", Timestamp.class));
try (KrJooqWrapper wrapper = new KrJooqWrapper(DbType.KRDB, true)){
wrapper.getCreate()
Hey Lukas,
Is it possible to use "NOW()" in an insert function. For example, the
insert is to look like this
INSERT INTO db.customer(
account_number,
cancel_date
)
VALUES (
1,
NOW()
)
The Jooq Query will look like
wrapper.getCreate()
.insertInto(
CUSTOMER,
Hi Max,
You're right. The readme files deserve some additional work, just like the
code itself, where a few comments would certainly help.
Hmm, there's a chapter about dynamic SQL here:
http://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql
But I get what you're really saying here. All
Hi Lukas,
I haven't seen those examples. Thanks for pointing them out. I went
through a couple of them and although the readme files are quite light :)
it seems those examples focus on specific technology examples.
When I mentioned example use-cases I was referring more to complex
predicate
Hi Max,
Thanks a lot for this input. Have you seen the examples on GitHub?
https://github.com/jOOQ/jOOQ/tree/master/jOOQ-examples
In any case, I do agree that they could use more explanations, perhaps in
the form of comments... And I also think that they're not linked well
enough from the
Hey Lukas,
Sorry for the super late reply. If I had to pick one thing to improve it
would definitely be the documentation. More comprehensive example code
along with detailed explanations. I know it's tuff to cover everything, but
a broader set of example use-cases would've helped a lot in
Hey Max,
Thanks a lot for your very nice words. This is greatly appreciated!
I always see room for improvement, even in a compliment, though :) May I
ask, what's the biggest part of jOOQ having its learning curve? Is there
anything that you can still recall now, after 2.5 years, that you think
I just have to say that JOOQ is AWESOME! We've been using it for about 2.5
years now and it's really a joy to work with. Its a big library and has its
learning curve but it crushes every ORM (or any other lib that wraps JDBC)
out there. Once you get the "JOOQ Way" of doing things it makes for
Hi Danilo,
Sorry for the delay - thank you very much for your feedback and for your
nice words!
Indeed, automation of fetching nested collection is something that's been
on my mind for a long time. The SQL standard approach would be to make use
of the MULTISET() operator - which is only really
Hello Lukas!
First of all, congratulations (and thanks!) for your great work on JOOQ.
One thing that would be a killer feature for many of the projects I have
been working on would be the ability to automatically retrieve/fetch and
nest/embed foreign entities (which have 1-N, N-1 or N-N
understood... that could be great! :-)
On Mon, Jul 18, 2016 at 6:06 PM, Lukas Eder wrote:
> Hi Luis,
>
> I see, thanks for the additional example. Hmm, this is an excellent
> example of what I've often noticed at client's shops. There's a
> misunderstanding about what the
Hi Luis,
I see, thanks for the additional example. Hmm, this is an excellent example
of what I've often noticed at client's shops. There's a misunderstanding
about what the JOIN clause really means in a SELECT statement. It is, in
fact, not part of the SELECT statement, so ideally, your pseudo
hi again!
We have a javascript query builder, where user can construct queries to our
fact/dimensional model. More than 50 possible data filters are sent to our
java backend. So we have this kind of code (of course, it´s a
simplification :-) ):
FilterEngine engine = new FilterEngine(request);
Oh, I see, that's a good hint. Indeed, all existing record.store() or
record.insert() based approaches don't take advantage of your knowledge
about wanting to insert *all* columns.
I think the Loader API solution will be the best one right now, as it also
allows you to fine tune bulk, batch, and
Hi Luis,
Hmm, interesting, thanks a lot for your suggestion. Hah, this is a very low
level query builder API method. I somehow wish it didn't exist (in the
public API) :)
But I certainly see your use-case. Let's discuss!
1. What are the pain points when constructing complex joins through the
Hi Lukas,
DSL.using(configuration).execute(CUSTOMER.insert(name, street1, ...));
That's exactly what we're looking for. In particular we want to batch the
org.jooq.Insert instances. I'll take a look at your suggestions. What we
found was the dirty checking that occurs in the records when using
Hi Mike,
Thanks a lot for your feedback. From what I understand, your insert()
method would produce an org.jooq.Insert object, that can be executed in the
context of a Configuration, such as:
DSL.using(configuration).execute(CUSTOMER.insert(name, street1, ...));
In a way, this already exists
OK, thanks a lot for the clarifications, Samir. I'll see what I can do with
this. Certainly, that RecordUnmapper API which is on the roadmap, will help
implementing reusable logic for hand rolled POJO to Record
transformations...
Cheers,
Lukas
2016-07-14 19:47 GMT+02:00 Samir Faci
Hi lukas!
For really complex queries is really useful query.addJoin(BOOK,
JoinType.LEFT_OUTER_JOIN, BOOK.AUTHOR_ID.equal(AUTHOR.ID));
I would love a way to add a list of joins... something like
query.addJoins(/* List> */)
is that possible? thanks!
On Friday,
Hi Lukas,
A generated method to provide a type safe insert statement including all
the table columns would be extremely useful for us. We typically use
records to do inserts but for a few high volume processes we are batching
raw inserts. We found this significantly faster than instantiating
Hi Lukas,
Sorry for the long delay in response. We've used the JPA with default
mapper to load data into both Records and POJOs and having the ability to
go back and forth or even in one direction (Records -> Pojos) would be
great.
Thanks for opening up the ticket.
Our usual cases tends to be
Hi Samir,
I have registered a feature request to generate a mapper() onto generated
TableRecords:
https://github.com/jOOQ/jOOQ/issues/5412
That's a low hanging fruit. Additional features are certainly possible, but
need more discussion, I think.
Best Regards,
Lukas
2016-07-07 10:35 GMT+02:00
Thanks a lot for your feedback, Mark!
2016-07-12 22:41 GMT+02:00 Mark Derricutt :
>
> On Thu, Jul 7, 2016 at 12:16 AM, Lukas Eder wrote:
>
>> What's your biggest "itch" in the jOOQ API, which jOOQ could "scratch",
>> or rather, make go away by adding new
On Thu, Jul 7, 2016 at 12:16 AM, Lukas Eder wrote:
> What's your biggest "itch" in the jOOQ API, which jOOQ could "scratch", or
> rather, make go away by adding new convenience API?
>
One that I hit yesterday, using fetchOne() which returns a null if absent,
error if more
Thank you very much for your feedback, Dayo
I will comment inline
2016-07-08 18:17 GMT+02:00 :
> JOOQ has been really helpful. Like others have shared, I think mapping is
> where I spend some considerable amount of time when using Jooq. I have not
> really been leveraging
JOOQ has been really helpful. Like others have shared, I think mapping is
where I spend some considerable amount of time when using Jooq. I have not
really been leveraging JPA column annotation (appears you have or will be
deprecating support). I have had to develop utilities to support
Hi Leigh,
Thanks for your feedback. I guess you can upvote this feature request, then:
https://github.com/jOOQ/jOOQ/issues/2520
:)
Indeed, that should be possible in a (hopefully near) future version.
Specifically, the DefaultRecordMapper logic should be made available in
reverse form through a
My question is similar (and perhaps is covered already) but goes in a
slightly different direction.
I really like the JOOQ record mapper implementation for fetching
"auto-magically" straight into custom POJOs - we tend to use this a bit
when our domain classes don't nicely reflect what can be
Hi Samir,
2016-07-07 4:50 GMT+02:00 Samir Faci :
> 1. One conversion that would be useful to have is the ability to convert
> from POJOs to Records and vice versa.
>
> On occasion I need to roll out my own POJO because our data is represented
> different at the service layer
1. One conversion that would be useful to have is the ability to convert
from POJOs to Records and vice versa.
On occasion I need to roll out my own POJO because our data is represented
different at the service layer then how the data
is actually stored, but I find myself using the autogenerated
Dear group,
Part of jOOQ's success is its incredible amount of convenience methods that
help reduce the boiler plate code at your side. We do this with massive
overloading of API, for instance, when you work with fetch(), you may have
noticed how many different types of fetch() there are in jOOQ.
59 matches
Mail list logo